#ifndef _BASEACTION_
#define _BASEACTION_

#include <string>

/** 
* Base class for an editor action.
* An action must implement the perform method that performs the action
* and the undo method that undoes the action.
*/
class BaseAction{
protected:
    std::string desc;

public:
    virtual void perform() = 0;
    virtual void undo() = 0;
    virtual std::string description(){
        return desc;
    }
    ~BaseAction(){
    }
};

#endif